1. Introduction
Note: In what follows we include with each section heading, a list of
references including links. TBoS means
The Book of Shen 4th edition, SD is Shendoc 30.
Shen is a functional programming language developed by Mark Tarver and introduced in September 2011.
It has been implemented in many languages including Common Lisp, Emacs Lisp, Scheme, Python, Haskell, Ruby,
Clojure, Java, Javascript, and the JVM. It is notable for its extreme portability based on its reduced
Kl instruction set and the power of its type system. Unlike languages in the
Hindley-Milner category, Shen incorporates a Turing-equivalent notation based on sequent calculus that
compiles down into a dialect of Prolog. Shen Prolog is part of the system and was used to implement the type system.
In addition Shen contains its own compiler-compiler, Shen-YACC, which was used to build the
reader and compiler for the language. Shen includes most of the features common to modern functional
programming languages such as
pattern-matching,
currying,
partial applications,
guards
and (optional) static type checking. |